package com.wsx.ones.monitor.core.codec;

import io.netty.buffer.ByteBuf;

import java.io.IOException;

/**
 * 用作编码解码的核心顶层设计，各个序列化的框架实现该类的方法
 * 底层是基于netty来实现的
 *
 * Created by wangshuaixin on 17/2/6.
 */
public interface MessageCodec {

    /**
     * 编码
     * @param byteBuf
     * @param message
     * @throws IOException
     */
    void encode(final ByteBuf byteBuf, final Object message) throws IOException;

    /**
     * 解码
     * @param bytes
     * @return
     * @throws IOException
     */
    Object decode(byte[] bytes) throws IOException;
}
